package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        /*
        使用JDBC链接数据库的基本流程：
        1.加载驱动
        2.通过驱动管理器与数据库建立链接
        3.通过链接对象创建语句执行对象
        4.通过语句执行对象执行SQL语句
        5.接收数据库处理结果
        6.关闭数据库链接
         */
        //1 加载MySQL的驱动
//        Class.forName("com.mysql.cj.jdbc.Driver");
//        //2 通过驱动管理器与数据库建立链接
//        Connection  conn = DriverManager.getConnection(
//                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
//                "root",
//                "root");
        Connection conn = DBUtil.getConnection();
        System.out.println("与数据库连接成功！");
        //3 通过链接对象创建语句执行对象
        Statement state = conn.createStatement();
        /*
            CREATE TABLE userinfo(
                id INT PRIMARY KEY AUTO_INCREMENT,
                username VARCHAR(32),
                password VARCHAR(32),
                nickname VARCHAR(32),
                age INT(3)
            )
         */
        String sql ="   CREATE TABLE userinfo( " +
                    "   id INT PRIMARY KEY AUTO_INCREMENT, " +
                    "   username VARCHAR(32), " +
                    "   password VARCHAR(32), " +
                    "   nickname VARCHAR(32), " +
                    "   age INT(3) " +
                    ")";
        /*
        boolean execute(String sql)
        该方法可以执行任意种类的SQL语句，当执行SQL后差生查询结果集则返回true
        因为执行DQL语句和DML语句有专门的方法，因此当前方法通常用于执行DDL语句
         */
        state.execute(sql);
        System.out.println("创建表成功！");
        conn.close();

    }
}
